package com.zeratul.satoken.demo.domain;

import cn.hutool.core.convert.Convert;
import com.zeratul.common.satoken.domain.entity.base.LoginUserAdapter;
import com.zeratul.common.satoken.enums.UserType;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class SysUserAdapter extends LoginUserAdapter {

    /**
     * 用户ID
     */
    private Long id;

    /**
     * 获取登录ID
     */
    @Override
    public String getUserId() {
        return Convert.toStr(id);
    }

    /**
     * 返回用户类型
     */
    @Override
    public UserType getUserType() {
        return UserType.SYS_USER;
    }

    /**
     * 是否允许同一账号多地同时登录 （为 true 时允许一起登录, 为 false 时新登录挤掉旧登录）
     */
    @Override
    public boolean getIsConcurrent() {
        return true;
    }
}
